package com.ygp.dtp.core.parser;

import com.ygp.dtp.common.enums.ConfigFileTypeEnum;

import java.io.IOException;
import java.util.List;
import java.util.Map;

/**
 * @description: 配置解析
 * @motto: 代码源于生活，高于生活艺术
 * @author: zhouhengzhe
 * @date: 2022/8/9 13:49
 * @since 1.0
 **/
public interface ConfigParser {

    /**
     * 获取配置类型
     *
     * @return 返回配置类型
     */
    List<ConfigFileTypeEnum> type();

    /**
     * 解析
     *
     * @param content 内容
     * @return map
     * @throws IOException io异常
     */
    Map<Object, Object> doParse(String content) throws IOException;

    /**
     * 判断类型
     *
     * @param enumType 枚举值
     * @return 返回true或者false
     */
    Boolean supports(ConfigFileTypeEnum enumType);
}
